package com.lill.system.service;

import java.util.List;
import java.util.Map;

import com.lill.system.model.SysMenuEntity;
import com.lill.system.model.SysUserEntity;


/**
 * 菜单管理
 *
 * @author lill
 */
public interface ISysMenuService {

    /**
     * 根据父菜单，查询子菜单
     *
     * @param parentId   父菜单ID
     * @param menuIdList 用户菜单ID
     */
    List<SysMenuEntity> queryListParentId(String parentId, List<String> menuIdList, String domainId);

    /**
     * 获取不包含按钮的菜单列表
     */
    List<SysMenuEntity> queryNotButtonList();

    /**
     * 获取用户菜单列表
     */
    List<SysMenuEntity> getUserMenuList(String userId, String domainId);


    /**
     * 查询菜单
     */
    SysMenuEntity queryObject(String menuId);

    /**
     * 查询url对应app得OnlyChar菜单
     */
    SysMenuEntity queryUrlObject(String url);

    /**
     * 查询菜单列表
     */
    List<SysMenuEntity> queryList(Map<String, Object> map);

    /**
     * 查询总数
     */
    int queryTotal(Map<String, Object> map);

    /**
     * 保存菜单
     */
    int save(SysMenuEntity menu,SysUserEntity user);

    /**
     * 修改
     */
    int update(SysMenuEntity menu,SysUserEntity user);

    /**
     * 删除
     */
    int deleteBatch(String[] menuIds);
    int deleteUrl(String url);
    /**
     * 查询用户的权限列表
     */
    List<SysMenuEntity> queryUserList(String userId);
    
    List<SysMenuEntity> queryMenuList(String domainId);

	int deleteLogicByMap(Map<String, Object> params);

	List<SysMenuEntity> getUserMenuList(Map<String, Object> mapQuery);
	
	List<SysMenuEntity> queryCurUserMenuList(Map<String, Object> mapQuery);
}
